package Movimiento;
import javax.swing.ImageIcon;
import javax.swing.JLabel;

import Elementos.Celda;
import Juego.Mapeli;
import TDALista.PositionList;

public class IA implements Runnable{
	protected Mapeli mapa;
	protected PositionList<Celda> trayectoria;
	protected boolean disparar;

	public IA(Mapeli m){
		mapa = m;
		trayectoria=null;
		disparar=false;
	}
	
	public void run() {

		while(true){
			
			try {
				if(!disparar)
				{
					mapa.moverBichos();
					Thread.sleep(300);
				}
				else
				{
					JLabel bola = new JLabel((new ImageIcon(getClass().getClassLoader().getResource("ElementosGraficos/bolaFuego.gif"))));
					int i=0;
					for(Celda c: trayectoria){
						mapa.moverBichos();
						i++;
						if((i==10)|(!c.getTransitable()))
						     break;
						//mapa.mapGrafico().reemplazarPor(c.getElemento(), bola);	
						if(!c.getElemento().getEstatico())
						{
							c.getElemento().eliminarme(c, mapa.getmario());
							//mapa.mapGrafico().reemplazarPor(c.getElemento(), c.getElemento().getImagen());
							break;
						}
						Thread.sleep(300);
						//mapa.mapGrafico().reemplazarPor(c.getElemento(), c.getElemento().getImagen());						
					}
					
					trayectoria=null;
					disparar=false;											
				}
				
			} catch (InterruptedException e) {e.printStackTrace();}
		}
	}
	
	public void dispararYa(PositionList<Celda> k){
		disparar=true;
		trayectoria=k;
	}
	
	
	public void setMapa(Mapeli m){
		mapa = m;
	}
}
